/*
 * WordStream.h
 *
 *  Created on: 3 oct. 2009
 *      Author: Gaudin Maxime
 */

#ifndef VECTOR_H
	#include <vector>
	#define VECTOR_H
#endif

#ifndef STRING_H
	#include <string>
	#define STRING_H
#endif

#ifndef WORDSTREAM_H_
#define WORDSTREAM_H_

class WordStream {
	// Constructeurs & Destructeur
	public:
		WordStream(char* Filename);
		virtual ~WordStream();

	// Méthodes publiques
	public:
		// Obtient le prochain mot du flux.
		std::string GetNextWord();

		// Remet le lecteur de mot au début
		void SeekToStart();

		// Indique si la lecture est arrivé au bout du flux
		int IsEndOfStream();

	private:
		// Lit le fichier et parse les mots dans le vector
		void readFile(char* Filename);

	// Attributs privés :
	private:
		// Indique la position du flux
		unsigned int Seeker;

		// Contient les mots
		std::vector<std::string> words;
};

#endif /* WORDSTREAM_H_ */
